﻿
namespace Xenta.Enums
{
    /// <summary>
    /// Defines the member sort options.
    /// </summary>
    public enum ForumMemberSortBy : byte
    {
        /// <summary>
        /// Order by identifier.
        /// </summary>
        ID,

        /// <summary>
        /// Order by account email.
        /// </summary>
        AccountEmail,

        /// <summary>
        /// Order by account username.
        /// </summary>
        AccountUsername,

        /// <summary>
        /// Order by topic count.
        /// </summary>
        TopicCount,

        /// <summary>
        /// Order by post count.
        /// </summary>
        PostCount,

        /// <summary>
        /// Order by the "karma" points.
        /// </summary>
        KarmaPoints,

        /// <summary>
        /// Order by creation date.
        /// </summary>
        CreatedOn
    }

    /// <summary>
    /// Defines the topic sort options.
    /// </summary>
    public enum ForumTopicSortBy : byte
    {
        /// <summary>
        /// Order by identifier.
        /// </summary>
        ID,

        /// <summary>
        /// Order by title.
        /// </summary>
        Title,

        /// <summary>
        /// Order by post count.
        /// </summary>
        PostCount,

        /// <summary>
        /// Order by creation date.
        /// </summary>
        CreatedOn
    }

    /// <summary>
    /// Defines the forum sort options.
    /// </summary>
    public enum ForumSortBy : byte
    {
        /// <summary>
        /// Order by identifier.
        /// </summary>
        ID,

        /// <summary>
        /// Order by topic count.
        /// </summary>
        TopicCount,

        /// <summary>
        /// Order by post count.
        /// </summary>
        PostCount,

        /// <summary>
        /// Order by display order.
        /// </summary>
        DisplayOrder,

        /// <summary>
        /// Order by creation date.
        /// </summary>
        CreatedOn
    }

    /// <summary>
    /// Defines the rank sort options.
    /// </summary>
    public enum ForumRankSortBy : byte
    {
        /// <summary>
        /// Order by identifier.
        /// </summary>
        ID,

        /// <summary>
        /// Order by threshold.
        /// </summary>
        Threshold,

        /// <summary>
        /// Order by creation date.
        /// </summary>
        CreatedOn
    }

    /// <summary>
    /// Defines the post sort options.
    /// </summary>
    public enum ForumPostSortBy : byte
    {
        /// <summary>
        /// Order by identifier.
        /// </summary>
        ID,

        /// <summary>
        /// Order by creation date.
        /// </summary>
        CreatedOn
    }
}
